package com.xinqi.modules.sys.menu.dto.rsp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 系统菜单-响应对象
 *
 * @author: linkai
 * @date: 2023/04/01
 */
@Data
@Schema(description = "系统菜单-响应对象")
public class MenuResultDTO implements Serializable {
    /**
     * 主键
     */
    @Schema(description = "主键", example = "")
    private Long id;
    /**
     * 创建者
     */
    @Schema(description = "创建者", example = "")
    private Long createBy;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间", example = "")
    private LocalDateTime createTime;
    /**
     * 所属平台
     */
    @Schema(description = "所属平台", example = "")
    private Long platformId;
    /**
     * 父ID
     */
    @Schema(description = "父ID", example = "")
    private Long parentId;
    /**
     * 平台名称
     */
    @Schema(description = "平台名称", example = "")
    private String name;
    /**
     * 权限编码
     */
    @Schema(description = "权限编码", example = "")
    private String permission;
    /**
     * 菜单类型，0-目录；1-菜单；2-按钮；3-API
     */
    @Schema(description = "菜单类型，0-目录；1-菜单；2-按钮；3-API", example = "")
    private String type;
    /**
     * 组件
     */
    @Schema(description = "组件", example = "")
    private String component;
    /**
     * 路径
     */
    @Schema(description = "路径", example = "")
    private String path;
    /**
     * 开发方式，0-内链；1-新页面
     */
    @Schema(description = "开发方式，0-内链；1-新页面", example = "")
    private String openMode;
    /**
     * ICON
     */
    @Schema(description = "ICON", example = "")
    private String icon;
    /**
     * 状态，0-禁用；1-启动
     */
    @Schema(description = "状态，0-禁用；1-启动", example = "")
    private String status;
    /**
     * 排序
     */
    @Schema(description = "排序", example = "")
    private Integer sort;
    /**
     * 备注
     */
    @Schema(description = "备注", example = "")
    private String remark;

    @Schema(description = "子菜单列表", example = "")
    private List<MenuResultDTO> children;

}
